﻿using System.Security.Claims;

namespace Core.Interfaces.Users;

public interface ICurrentUserService
{
    string? Name { get; }

    Guid GetUserId();

    string? GetUserEmail();

    string? GetTenant();

    bool IsAuthenticated();
    bool IsSuperAdmin { get; }
    bool IsInRole(string role);
    bool IsInPermission(string permission);

    IEnumerable<Claim>? GetUserClaims();
}
